package cn.wawi.dao.sys;

import java.util.List;
import java.util.Map;

import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;

import cn.wawi.common.annotation.MybatisRepository;
import cn.wawi.dao.BaseDao;
import cn.wawi.entity.sys.Role;
/**
 * @description 系统角色dao接口
 * @author 龚亮
 * @date 2015-05-26 09:48:33
 */
@MybatisRepository
public interface RoleDao<T extends Role> extends BaseDao<T> {

	/**
	 * 保存角色权限
	 */
	@CachePut
	public void savePrivilege(Map<String,Object> map);
	/**
	 * 获取用户拥有的角色
	 */
	@Cacheable
	public List<Role> getUserRole(Long id);  
	/**
	 * 保存用户角色
	 */
	@CachePut
	public void saveUser(Map<String,Object> map);
	/**
	 * 删除用户角色
	 */
	@CacheEvict(allEntries=true)
	public void deleteUser(Long id);
}
